home *** CD-ROM | disk | FTP | other *** search
/ Whiteline: delta / whiteline CD Series - delta.iso / tools / utils / smc_tt1 / lan.h < prev    next >
Text File  |  1995-11-25  |  22KB  |  767 lines

  1. #define MAX_PATH 300      /* Laenge eines Pfades                             */
  2. #define MAX_FILENAME 32   /* Laenge eines Filenamens                             */
  3. #define MAX_DEEP  300      /* Maximale Suchtiefe für Directorys              */
  4. #define MAX_REQUESTER 30  /* Maximalzahl Requester pro Server               */
  5. #define MAX_RESOURCE 30   /* Maximalzahl der Resourcen fuer jeden Requester */
  6. #define MAX_FHAND 100     /* Anzahl verfügbarer Filehandles                 */
  7. #define MAX_DIRHAND 100   /* Anzahl verfügbarer Dirhandles                   */
  8. #define MAX_RESNAME 16    /* Laenge eines Resourcennames                    */
  9. #define MAX_REQNAME 20    /* Laenge eines Requesternnames                   */
  10. #define MAX_ACCESS 300    /* Rechteliste pro Resource                       */
  11. #define MAX_USR  100      /* Anzahl User pro Server                         */
  12. #define MAX_USRNAME 20    /* Laenge eines Usernames                         */
  13. #define MAX_PASSWD  20    /* Laenge eines Passwortes                        */
  14. #define MAX_AUTOM 20      /* Anzahl Auto Programme nach GEMDOS.PRG          */
  15. #define MAX_BLOCK 10      /* Maximalszahl blocke pro Transfer      */
  16.  
  17. #define    PORT_ULINET_SERVER       20004 /* Port des Ulinetzes "An Server"       */
  18. #define    PORT_ULINET_REQUESTER    20003 /* Port des Ulinetzes "An Requester"    */
  19.  
  20. #define RES_FLAGS_NONE    0
  21. #define RES_FLAGS_HIDDEN  1
  22. #define RES_FLAGS_AKTIV   2  /* wenn ein Drucker, oder ein Zeitnormal aktiv ist */
  23. #define RES_FLAGS_DOS     4  /* Diese Resource verwendet DOS Dateinamenkonventionen */
  24.  
  25. #define CALL_FSFIRST 1
  26. #define RET_FSFIRST  2
  27. #define CALL_FSNEXT  3
  28. #define RET_FSNEXT   4
  29. #define CALL_FOPEN   5
  30. #define RET_FOPEN    6
  31. #define CALL_FREAD   7
  32. #define RET_FREAD    8
  33. #define CALL_FCLOSE  9
  34. #define RET_FCLOSE   10
  35. #define CALL_FCREATE 11
  36. #define RET_FCREATE  12
  37. #define CALL_FDELETE 13
  38. #define RET_FDELETE  14
  39. #define CALL_FWRITE  15
  40. #define RET_FWRITE   16
  41. #define CALL_FATTRIB 17
  42. #define RET_FATTRIB  18
  43. #define CALL_FRENAME 19
  44. #define RET_FRENAME  20
  45. #define CALL_FDCREATE 21
  46. #define RET_FDCREATE  22
  47. #define CALL_FDDELETE 23
  48. #define RET_FDDELETE  24
  49. #define CALL_FSEEK    25
  50. #define RET_FSEEK     26
  51. #define CALL_FCNTL    27
  52. #define RET_FCNTL     28
  53. #define CALL_FGETTIME 29
  54. #define RET_FGETTIME  30
  55. #define CALL_PATHCONF 31
  56. #define RET_PATHCONF  32
  57. #define CALL_OPENDIR  33
  58. #define RET_OPENDIR   34
  59. #define CALL_CLOSEDIR 35
  60. #define RET_CLOSEDIR  36
  61. #define CALL_READDIR  37
  62. #define RET_READDIR   38
  63. #define CALL_REWINDDIR 39
  64. #define RET_REWINDDIR  40
  65. #define CALL_FILEINFO 41
  66. #define RET_FILEINFO  42
  67. #define CALL_SENDFAX  43
  68. #define RET_SENDFAX   44
  69.  
  70. #define CALL_QUERY    100
  71. #define RET_QUERY     101
  72.  
  73. #define CALL_MESSAGE  102
  74. #define RET_MESSAGE   103
  75. #define CALL_WHO      104
  76. #define RET_WHO       105
  77.  
  78. #define CALL_LOGOFF   106
  79. #define RET_LOGOFF    107
  80.  
  81. #define CALL_DUMP     200
  82. #define RET_DUMP      201
  83.  
  84. #define CALL_RESTART  204
  85. #define RET_RESTART   205
  86.  
  87. /*-------- fsfirst -----------------------------------*/
  88. typedef struct
  89.   {
  90.   char name[MAX_FILENAME];
  91.   unsigned short  time;
  92.   unsigned short  date;
  93.   unsigned long   length;
  94.   unsigned char   attrib;
  95.   } direntry_typ;
  96.  
  97. typedef struct 
  98.   {
  99.   short handle;       /* Dieses Handle beschreib den Puffer, der zu verwenden ist Wert 0..MAX_DEEP */
  100.   char  name[MAX_PATH];    /* zu suchender Filename        */
  101.   short attr;         /* Attribut                     */
  102.   } call_fsfirst_typ;
  103.  
  104. typedef struct 
  105.   {
  106.   long  erg;          /* ergebnis des Funktionsaufrufes*/
  107.   direntry_typ  direntry;   /* Name Puffer             */
  108.   } ret_fsfirst_typ;
  109.  
  110. /*-------- fsnext ------------------------------------*/
  111. typedef struct 
  112.   {
  113.   short handle;
  114.   } call_fsnext_typ;
  115.  
  116. typedef struct 
  117.   {
  118.   long  erg;          /* ergebnis des Funktionsaufrufes*/
  119.   direntry_typ  direntry;   /* Name Puffer             */
  120.   } ret_fsnext_typ;
  121.  
  122. /*-------- fopen -------------------------------------*/
  123. typedef struct 
  124.   {
  125.   char  name[MAX_PATH];    /* zu oeffnende Datei           */
  126.   short mode;         /* Open Modes                   */
  127.   } call_fopen_typ;
  128.  
  129. typedef struct 
  130.   {
  131.   long  erg;          /* ergebnis des Funktionsaufrufes*/
  132.   } ret_fopen_typ;
  133.  
  134. /*-------- fread -------------------------------------*/
  135. typedef struct 
  136.   {
  137.   short handle;       /* zu oeffnende Datei           */
  138.   short flag;         /* =1 wenn mehrfachtransfer erlaubt  */
  139.   long  count;        /* anzahl zu lesender Bytes     */
  140.   } call_fread_typ;
  141.  
  142. typedef struct 
  143.   {
  144.   short seq;          /* Nummer des Paktetes bei Mehrfachtransfers */
  145.   short anz;          /* anzahl der Pakete, die kommen bei Mehrfachtransfers */
  146.   long  len;          /* Laenge der Daten inm Puffer   */
  147.   long  erg;          /* ergebnis des Funktionsaufrufes*/
  148.   unsigned char  buffer[1300]; /* Puffer zum uebertragen        */
  149.   } ret_fread_typ;
  150.  
  151. /*-------- fwrite -------------------------------------*/
  152. typedef struct 
  153.   {
  154.   short handle;       /* zu oeffnende Datei           */
  155.   short dummy;         /* auf 4 Byte Grenze zwingen   */
  156.   long  count;        /* anzahl zu lesender Bytes     */
  157.   unsigned char  buffer[1300]; /* Puffer zum uebertragen        */
  158.   } call_fwrite_typ;
  159.  
  160. typedef struct 
  161.   {
  162.   long  erg;          /* ergebnis des Funktionsaufrufes*/
  163.   } ret_fwrite_typ;
  164.  
  165. /*-------- fclose -------------------------------------*/
  166. typedef struct 
  167.   {
  168.   short    handle;
  169.   } call_fclose_typ;
  170.  
  171. typedef struct 
  172.   {
  173.   long  erg;          /* ergebnis des Funktionsaufrufes*/
  174.   } ret_fclose_typ;
  175.  
  176. /*-------- fcreate -------------------------------------*/
  177. typedef struct 
  178.   {
  179.   char  name[MAX_PATH];    /* zu oeffnende Datei           */
  180.   short mode;         /* Open Modes                   */
  181.   } call_fcreate_typ;
  182.  
  183. typedef struct 
  184.   {
  185.   long  erg;          /* ergebnis des Funktionsaufrufes*/
  186.   } ret_fcreate_typ;
  187.  
  188. /*-------- fdelete -------------------------------------*/
  189. typedef struct 
  190.   {
  191.   char  name[MAX_PATH];    /* zu oeffnende Datei           */
  192.   } call_fdelete_typ;
  193.  
  194. typedef struct 
  195.   {
  196.   long  erg;          /* ergebnis des Funktionsaufrufes*/
  197.   } ret_fdelete_typ;
  198.  
  199. /*-------- fattrib -------------------------------------*/
  200. typedef struct 
  201.   {
  202.   char  name[MAX_PATH];    /* Datei zum Attributaendern          */
  203.   short wflag;        /* Writeflag                       */
  204.   short attrib;       /* neue Attribute                  */
  205.   } call_fattrib_typ;
  206.  
  207. typedef struct 
  208.   {
  209.   long  erg;          /* ergebnis des Funktionsaufrufes*/
  210.   } ret_fattrib_typ;
  211.  
  212. /*-------- frename -------------------------------------*/
  213. typedef struct 
  214.   {
  215.   char  oldname[MAX_PATH];    /* Datei zum Umbenennen          */
  216.   char  newname[MAX_PATH];    /* Neuer Name                    */
  217.   } call_frename_typ;
  218.  
  219. typedef struct 
  220.   {
  221.   long  erg;          /* ergebnis des Funktionsaufrufes*/
  222.   } ret_frename_typ;
  223.  
  224.  
  225. /*-------- fdcreate -------------------------------------*/
  226. typedef struct 
  227.   {
  228.   char  name[MAX_PATH];    /* zu oeffnende Datei           */
  229.   } call_fdcreate_typ;
  230.  
  231. typedef struct 
  232.   {
  233.   long  erg;          /* ergebnis des Funktionsaufrufes*/
  234.   } ret_fdcreate_typ;
  235.  
  236. /*-------- fddelete -------------------------------------*/
  237. typedef struct 
  238.   {
  239.   char  name[MAX_PATH];    /* zu oeffnende Datei           */
  240.   } call_fddelete_typ;
  241.  
  242. typedef struct 
  243.   {
  244.   long  erg;          /* ergebnis des Funktionsaufrufes*/
  245.   } ret_fddelete_typ;
  246.  
  247. /*-------- fseek -------------------------------------*/
  248. typedef struct 
  249.   {
  250.   long offset;
  251.   short handle;
  252.   short seekmode;
  253.   } call_fseek_typ;
  254.  
  255. typedef struct 
  256.   {
  257.   long  erg;          /* ergebnis des Funktionsaufrufes*/
  258.   } ret_fseek_typ;
  259.  
  260. /*-------- fcntl -------------------------------------*/
  261. typedef struct 
  262.   {
  263.   short handle;
  264.   short code;
  265.   short direct;       /* special selbst ist der Parameter */
  266.   short direct_val;   /* Wert fuer special */
  267.   char    data[100];
  268.   } call_fcntl_typ;
  269.  
  270. typedef struct 
  271.   {
  272.   long  erg;          /* ergebnis des Funktionsaufrufes*/
  273.   char    data[100];
  274.   } ret_fcntl_typ;
  275.  
  276. /*-------- fgettime ------------------------------------*/
  277. typedef struct
  278.   {
  279.   short jahr;
  280.   short monat;
  281.   short tag;
  282.   short stunde;
  283.   short minute;
  284.   short sekunde;
  285.   } timestruct_typ;
  286.  
  287. typedef struct 
  288.   {
  289.   short dummy;            /* keine weiteren Parameter   */
  290.   } call_fgettime_typ;
  291.  
  292. typedef struct 
  293.   {
  294.   long  erg;          /* ergebnis des Funktionsaufrufes*/
  295.   timestruct_typ timestruct;
  296.   } ret_fgettime_typ;
  297.  
  298. /*-------- sendfax ------------------------------------*/
  299. typedef struct 
  300.   {
  301.   char nummer[100];  /* Telefonnummer des Faxes        */
  302.   } call_sendfax_typ;
  303.  
  304. typedef struct 
  305.   {
  306.   long  erg;          /* ergebnis des Funktionsaufrufes*/
  307.   } ret_sendfax_typ;
  308.  
  309. /*-------- pathconf-------------------------------------*/
  310. typedef struct 
  311.   {
  312.   char    path[MAX_PATH];
  313.   short code;
  314.   } call_pathconf_typ;
  315.  
  316. typedef struct 
  317.   {
  318.   long  erg;          /* ergebnis des Funktionsaufrufes*/
  319.   } ret_pathconf_typ;
  320.  
  321. /*-------- opendir-------------------------------------*/
  322. typedef struct 
  323.   {
  324.   char    path[MAX_PATH];
  325.   short flag;
  326.   } call_opendir_typ;
  327.  
  328. typedef struct 
  329.   {
  330.   long  erg;          /* ergebnis des Funktionsaufrufes*/
  331.   } ret_opendir_typ;
  332.  
  333. /*-------- closedir-------------------------------------*/
  334. typedef struct 
  335.   {
  336.   long dhand;
  337.   } call_closedir_typ;
  338.  
  339. typedef struct 
  340.   {
  341.   long  erg;          /* ergebnis des Funktionsaufrufes*/
  342.   } ret_closedir_typ;
  343.  
  344. /*-------- readdir-------------------------------------*/
  345. typedef struct 
  346.   {
  347.   long dhand;
  348.   } call_readdir_typ;
  349.  
  350. typedef struct 
  351.   {
  352.   long  erg;          /* ergebnis des Funktionsaufrufes*/
  353.   char  name[MAX_FILENAME];
  354.   } ret_readdir_typ;
  355.  
  356. /*-------- rewinddir-------------------------------------*/
  357. typedef struct 
  358.   {
  359.   long dhand;
  360.   } call_rewinddir_typ;
  361.  
  362. typedef struct 
  363.   {
  364.   long  erg;          /* ergebnis des Funktionsaufrufes*/
  365.   } ret_rewinddir_typ;
  366.  
  367. /*-------- fileinfo-------------------------------------*/
  368.  
  369. /* structure for getxattr */
  370. typedef struct xattr {
  371.     unsigned short mode;
  372. /* file types */
  373. #define NET_IFMT    0170000        /* mask to select file type */
  374. #define NET_IFCHR    0020000        /* BIOS special file */
  375. #define NET_IFDIR    0040000        /* directory file */
  376. #define NET_IFREG 0100000        /* regular file */
  377. #define NET_IFIFO 0120000        /* FIFO */
  378. #define NET_IMEM    0140000        /* memory region or process */
  379. #define NET_IFLNK    0160000        /* symbolic link */
  380.  
  381. /* special bits: setuid, setgid, sticky bit */
  382. #define NET_ISUID    04000
  383. #define NET_ISGID 02000
  384. #define NET_ISVTX    01000
  385.  
  386. /* file access modes for user, group, and other*/
  387. #define NET_IRUSR    0400
  388. #define NET_IWUSR 0200
  389. #define NET_IXUSR 0100
  390. #define NET_IRGRP 0040
  391. #define NET_IWGRP    0020
  392. #define NET_IXGRP    0010
  393. #define NET_IROTH    0004
  394. #define NET_IWOTH    0002
  395. #define NET_IXOTH    0001
  396. #define NET_DEFAULT_DIRMODE (0777)
  397. #define NET_DEFAULT_MODE    (0666)
  398.  
  399.     unsigned short  nlink;
  400.     unsigned long    uid;
  401.     unsigned long    gid;
  402.  
  403.     long    size;
  404.     long    blksize, nblocks;
  405.     long    mtime, mdate;
  406.     long    atime, adate;
  407.     long    ctime, cdate;
  408.     long    attr;
  409. } fileinfo_typ;
  410.  
  411.  
  412. typedef struct 
  413.   {
  414.   long flag;
  415.   char name[MAX_PATH];
  416.   } call_fileinfo_typ;
  417.  
  418. typedef struct 
  419.   {
  420.   long  erg;          /* ergebnis des Funktionsaufrufes*/
  421.   fileinfo_typ buffer;/* Puffer der obigen Struktur    */
  422.   } ret_fileinfo_typ;
  423.  
  424. /*-------- query Resource -------------------------------------*/
  425. typedef struct 
  426.   {
  427.   char    usr_name[MAX_USRNAME]; /* username      */
  428.   char    passwd[MAX_PASSWD];   /* Passwort      */
  429.   } call_query_typ;
  430.  
  431. typedef struct
  432.   {
  433.   short     typ;      /* Arte der Resource */
  434.   short     flags;    /* Flags der Resource */
  435.   char      name[MAX_RESNAME]; /* Name der Resource */
  436.   } query_resource_typ;
  437.  
  438. typedef struct 
  439.   {
  440.   unsigned short  usr_id;                      /* ID dieses Users auf diesem Server */
  441.   char            serv_name[30];               /* Name des Servers              */
  442.   unsigned short  anz;                         /* Anzahl resourcen in der Liste */
  443.   query_resource_typ res[40];  /* Array mit den Resourcennamen  */ 
  444.   } ret_query_typ;
  445.  
  446. /*-------- logoff  --------------------------------------------*/
  447. typedef struct 
  448.   {
  449.   char    usr_name[MAX_USRNAME]; /* username      */
  450.   char    passwd[MAX_PASSWD];   /* Passwort      */
  451.   } call_logoff_typ;
  452.  
  453. typedef struct 
  454.   {
  455.   long erg;
  456.   } ret_logoff_typ;
  457.  
  458. /*-------- Net Dump ---------------------------------------*/
  459. typedef struct 
  460.   {
  461.   char    buffer[100];    /* Ausgabestring */
  462.   } call_dump_typ;
  463.  
  464. typedef struct 
  465.   {
  466.   long erg;
  467.   } ret_dump_typ;
  468.  
  469. #define MAX_MESSAGE 1300
  470.  
  471. /*-------- Net Message ------------------------------------*/
  472. /* --- Typ zum senden einer Mitteilung (net Message)----*/
  473. typedef struct
  474.   {
  475.   short  valid;     /* ist der Inhalt gueltig ?             */
  476.   short  typ;       /* Typ der Message (nach MSG_... )   */
  477.   unsigned long in_addr;  /* Zieladresse der Meldung   */
  478.   char   data[MAX_MESSAGE];/* Inhalt der Meldung                   */
  479.   } message_typ;
  480.  
  481. typedef struct 
  482.   {
  483.   message_typ    msg_buf;    /* Ausgabestring */
  484.   } call_message_typ;
  485.  
  486. typedef struct 
  487.   {
  488.   long erg;
  489.   } ret_message_typ;
  490.  
  491. /* --- Typ zum Abfragen der Requesterliste (net Who)----*/
  492. typedef struct
  493.   {
  494.   short req_id;
  495.   char  req_name[MAX_REQNAME];
  496.   unsigned long in_addr;
  497.   } req_list_typ;
  498.  
  499. typedef struct 
  500.   {
  501.   short dummy;
  502.   } call_who_typ;
  503.  
  504. typedef struct 
  505.   {
  506.   req_list_typ info;    /* liefere eigene Identifikation */
  507.   } ret_who_typ;
  508.  
  509. /*-------- Restart Requester --------------------------------*/
  510. typedef struct 
  511.   {
  512.   short dummy;
  513.   } call_restart_typ;
  514.  
  515. typedef struct 
  516.   {
  517.   long erg;
  518.   } ret_restart_typ;
  519.  
  520. typedef union
  521.   {
  522.   call_fsfirst_typ call_fsfirst;
  523.   ret_fsfirst_typ ret_fsfirst;
  524.   call_fsnext_typ call_fsnext;
  525.   ret_fsnext_typ ret_fsnext;
  526.   call_fopen_typ call_fopen;
  527.   ret_fopen_typ ret_fopen;
  528.   call_fread_typ call_fread;
  529.   ret_fread_typ ret_fread;
  530.   call_fwrite_typ call_fwrite;
  531.   ret_fwrite_typ ret_fwrite;
  532.   call_fclose_typ call_fclose;
  533.   ret_fclose_typ ret_fclose;
  534.   call_fcreate_typ call_fcreate;
  535.   ret_fcreate_typ ret_fcreate;
  536.   call_fdelete_typ call_fdelete;
  537.   ret_fdelete_typ ret_fdelete;
  538.   call_fattrib_typ call_fattrib;
  539.   ret_fattrib_typ ret_fattrib;
  540.   call_frename_typ call_frename;
  541.   ret_frename_typ ret_frename;
  542.   call_fdcreate_typ call_fdcreate;
  543.   ret_fdcreate_typ ret_fdcreate;
  544.   call_fddelete_typ call_fddelete;
  545.   ret_fddelete_typ ret_fddelete;
  546.   call_fseek_typ call_fseek;
  547.   ret_fseek_typ ret_fseek;
  548.   call_fcntl_typ call_fcntl;
  549.   ret_fcntl_typ ret_fcntl;
  550.   call_fgettime_typ call_fgettime;
  551.   ret_fgettime_typ ret_fgettime;
  552.   call_sendfax_typ call_sendfax;
  553.   ret_sendfax_typ ret_sendfax;
  554.  
  555.   call_pathconf_typ call_pathconf;
  556.   ret_pathconf_typ ret_pathconf;
  557.   call_opendir_typ call_opendir;
  558.   ret_opendir_typ ret_opendir;
  559.   call_closedir_typ call_closedir;
  560.   ret_closedir_typ ret_closedir;
  561.   call_readdir_typ call_readdir;
  562.   ret_readdir_typ ret_readdir;
  563.   call_rewinddir_typ call_rewinddir;
  564.   ret_rewinddir_typ ret_rewinddir;
  565.   call_fileinfo_typ call_fileinfo;
  566.   ret_fileinfo_typ ret_fileinfo;
  567.  
  568.   call_query_typ call_query;
  569.   ret_query_typ ret_query;
  570.   call_logoff_typ call_logoff;
  571.   ret_logoff_typ ret_logoff;
  572.   call_dump_typ call_dump;
  573.   ret_dump_typ ret_dump;
  574.   call_message_typ call_message;
  575.   ret_message_typ ret_message;
  576.   call_who_typ call_who;
  577.   ret_who_typ ret_who;
  578.   call_restart_typ call_restart;
  579.   ret_restart_typ ret_restart;
  580.  
  581.   char dummy[2000];
  582.   } lan_data_typ;
  583.  
  584. typedef struct
  585.   {
  586.   unsigned long  in_dst;  /* Internet Empfänger          */
  587.   unsigned long  in_src;  /* Ethernet Absender           */
  588.   unsigned short in_port; /* Port zu senden              */
  589.   unsigned short dummy;   /* long align                  */
  590.   unsigned short len;     /* Laenge der Daten in lan_data*/
  591.   unsigned short code;    /* Befehlscode                 */
  592.   unsigned long  id;      /* ID dieses Paketes           */
  593.   short          req_id;  /* ID des eigenen Requesters   */
  594.   short          usr_id;  /* ID des eingeloggten Users   */
  595.   lan_data_typ   lan_data;/* eigentlicher Datenpuffer    */
  596.   } lan_buffer_typ;
  597.  
  598. #define LAN_DATAOFFSET ( sizeof(lan_buffer_typ) - sizeof(lan_data_typ))
  599.  
  600. /* GEMDOS Liste aller Filehandles im Requester */
  601. typedef struct
  602.   {
  603.   short used;             /* True, wenn Daten gueltig     */
  604.   short real_hand;        /* Handle des Gemdos            */
  605.   short resource_id;      /* ID der zugehoerigen Resource */
  606. #ifndef LINUX
  607.   BASPAG  *bas_pag;       /* Pointer auf Basepage des Prozesses, der dieses Handle belegt */
  608. #endif
  609.   } fhand_typ;
  610.  
  611. /* GEMDOS Liste aller Directoryhandles im Requester */
  612. typedef struct
  613.   {
  614.   short used;             /* True, wenn Daten gueltig     */
  615.   long real_hand;         /* Handle des Gemdos/UNIX       */
  616.   short resource_id;      /* ID der zugehoerigen Resource */
  617.   long  bas_pag;          /* Pointer auf Basepage des Prozesses, der dieses Handle belegt */
  618.   } dirhand_typ;
  619.  
  620.  
  621. /* Typ von resourcen */
  622.  
  623. #define RESOURCE_DRIVE  1  
  624. #define LOCAL_DRIVE  10  
  625. #define RESOURCE_PRINTER  2  
  626. #define RESOURCE_TIME  3  
  627. #define LOCAL_PRINTER  4
  628. #define RESOURCE_DEVICE  5
  629. #define RESOURCE_DUMP  6
  630. #define RESOURCE_FAX  7
  631.  
  632. typedef struct
  633.   {
  634.   short         typ;            /* Arte der Resource                            */
  635.   short         id;             /* ID dieser Resource auf diesem Requester      */
  636.   short         flags;          /* flags z.B. Hidden                            */
  637.   short         usr_id;         /* User ID, die der Server geliefert hat        */
  638.   char          serv_name[30];  /* Name des Servers, der diese Resource bereitstellt */
  639.   char          name[MAX_RESNAME];  /* Name der Resource                        */
  640.   unsigned long in_addr;        /* Internetadresse des verantwortlichen Servers */
  641.   char          path[MAX_PATH]; /* nur fuer lokale Drives                       */
  642.   } resource_typ;
  643.  
  644. typedef struct
  645.   {
  646.   short      valid;        /* TRUE, wenn DTA belegt ist                  */
  647.   short      resource_ind; /* Index der zugehoerigen Resource            */
  648.   short      query;        /* fortschritt der Abfrage bei Internen Listen*/
  649.   short      level;        /* Directory Tiefe                            */
  650.   unsigned   long used;    /* letzter gebrauch                           */
  651. #ifndef LINUX
  652.   DTA        dta;          /* fuer lokale Drives                         */
  653. #endif
  654.   } search_hand_typ;
  655.  
  656. /* Fuer Server: Buffer fuer jeden Requester */
  657. typedef struct
  658.   {
  659.   short          req_id;            /* ID des zugehoerigen Requesters     */
  660.   unsigned long  in_addr;           /* Internetadresse des Requesters     */
  661.  
  662.   short          dirres_ind[MAX_DEEP];           /* Index der Resource                 */
  663. #ifndef LINUX
  664.   DTA             dta_buf[MAX_DEEP]; /* Speicher fuer die DTA's            */
  665. #endif
  666.  
  667. #ifdef LINUX
  668.   DIR            *dirhand[MAX_DEEP];/* Speicher fuer die DIR Handles      */
  669.   char           dirpath[MAX_DEEP][MAX_PATH];
  670.   char           dirmask[MAX_DEEP][MAX_PATH];
  671. #endif
  672.   lan_buffer_typ lan_erg[MAX_BLOCK];/* Erebnispuffer fuer jeden Requester */
  673.   short          anz_block;         /* Anzahl Bloecke                     */
  674.   long           last_id;           /* letzte empfangene ID               */
  675.   } req_buffer_typ;
  676.  
  677.  
  678. typedef struct
  679.   {
  680.   char path[MAX_PATH];
  681.   char cmdline[130];
  682.   } autom_typ;
  683.  
  684. typedef struct
  685.   {
  686.   long           drucker_zeit;      /* Zeit bis Drucker freigegeben wird  */
  687.   unsigned short usr_id;            /* ID des Users                       */
  688.   char           usr_name[MAX_USRNAME]; /* Name dieses Users              */
  689.   char           passwd[MAX_USRNAME]; /* Passwot des angemeldeten Users              */
  690.   short          csum;              /* TRUE, wenn csum gebildet werden soll */
  691.   } para_typ;
  692.  
  693. #define MSG_ALERT    1
  694.  
  695.  
  696. /* ---- Poll informationen vom Gemdos Treiber ----------*/
  697. typedef struct
  698.   {
  699.   short local_printer_res_ind;        /* Resource ID des zu aktivierenden Druckers */
  700.   short local_printer_start;         /* aktiviere Spooler */
  701.   char  local_printer_filename[MAX_PATH];  
  702.   long  defekt_count;                /* Zählt defekte Pakete */
  703.   short debug_flag;                  /* -> Meldung ist Gültig */
  704.   char  debug_msg[100];              /* Meldung zum ausgeben */
  705.   short do_fax;                      /* Fax datei gesendet, bitte Telefonnummer mitteilen */
  706.   } pollinfo_typ;
  707.  
  708. /*----- FILESERVER Handleverwaltung ---------------------*/
  709.  
  710. #define MAX_SFHAND 200        /* Maximal vom Server verwendbare Handle */
  711.  
  712. typedef struct
  713.   {
  714.   short used;                            /* ist belegt                    */
  715.   short res_ind;                         /* index der Resource des Servers*/
  716.   short req_id;                          /* ID des belegenden Requesters  */
  717.   char  path[MAX_PATH];                  /* zum ansehen der offenen Files */
  718.   } sfhand_typ;                    /* Server Filehandles */
  719.  
  720.  
  721. typedef struct
  722.   {
  723.   char *devname;
  724.   unsigned long flags;
  725.   } rsvf_liste_typ;
  726.  
  727. /*--- Zugriffsrechte in attrib --------------------------*/
  728. #define        ACC_READ    0x00000001
  729. #define        ACC_WRITE    0x00000002
  730. #define        ACC_DELETE    0x00000004
  731.  
  732. /*--- Server Zugriffsliste ------------------------------*/
  733. typedef struct
  734.   {
  735.   short usr_id;                         /* Id des Users */
  736.   long  attrib;                         /* Zugriffsattribute */
  737.   } access_typ;
  738.  
  739. typedef struct
  740.   {
  741.   access_typ *access;                   /* Zeiger auf das Array mit den Zugriffsrechten */
  742.   short      access_anz;                /* anzahl eintrΣge darin                        */
  743.   } access_list_typ;
  744.  
  745. /*--- Server Userliste ----------------------------------*/
  746. #define USR_STAT_LOGIN  1               /* User ist eingeloggt */
  747. #define USR_STAT_LOGOFF 0               /* User ist ausgeloggt */
  748.  
  749. typedef struct
  750.   {
  751.   short id;
  752.   short status;
  753.   char  name[20];
  754.   char  password[30];
  755.   char  kommentar[40];
  756.   } usr_typ;
  757.  
  758. typedef struct
  759.   {
  760.   char aliasname[30];
  761.   char localname[30];
  762.   } devices_typ;
  763.  
  764.  
  765.  
  766.  
  767.